home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Practical Algorithms for Image Analysis
/
Practical Algorithms for Image Analysis.iso
/
CH_5.7
/
XSGLL
/
SAL.H
< prev
next >
Wrap
C/C++ Source or Header
|
1999-09-11
|
2KB
|
49 lines
/*
* SAL.H
*
* structure defs for xllist.c
*
*/
#ifndef _SAL_H_
#define _SAL_H_
/* structure definitions */
struct point { /* point */
short x;
short y;
};
typedef struct Segmtype { /* linear segment */
struct point ptO; /* coord. of initial point of seg. */
struct point ptF; /* coord. of final point of seg. */
float slope; /* slope of segm {pt1, pt2} */
float pij; /* overlap of cur segm i wrt segm j */
float pji; /* inverse overlap */
float dij; /* perp dist from segm i to midpt of ov_ij */
int line_ind; /* index of parent line */
int segm_ind; /* scan index (i) of segm under inspection */
int sgl_level; /* level of indirection in SGL assignment (0,1,2) */
Boolean SalStat; /* sgll(): when all segm in SAL<segm> InAct, InAct */
} SegmT;
/* function prototypes */
extern int cmpSegmdist (struct Segmtype *oldSegm, struct Segmtype *newSegm);
extern Boolean cmpdij (struct Segmtype *newSegm, int sign_dij,
struct linklist *sall);
extern void init_sall (struct linklist *segm_adj_list);
extern void show_segm_list (struct linklist *list, int index);
extern float slope (struct point pt1, struct point pt2);
extern void init_testsegm (struct Segmtype *testsegm, int n_segm);
extern void show_segment (struct Segmtype *Segm);
extern void construct_sall (struct linklist *sall,
struct Segmtype *testsegm, int n_segm);
extern int main (int argc, char **argv);
#endif /* _SAL_H_ */